/*
 * Created on 01/11/2004 
 */
package com.master.rl;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;

import com.master.ed.Contrato_VendedorRelED;
import com.master.relatorio.InterfaceRelatorio;
import com.master.relatorio.Relatorio;
import com.master.util.Excecoes;
import com.master.util.ManipulaString;
import com.master.util.ed.Parametro_FixoED;

/**
 * @author Andre Valadas
 */

public class Contrato_VendedorRL {
    
    public void geraRelContrato(ArrayList lista, Contrato_VendedorRelED ed, HttpServletResponse response) throws Exception{
        
    	byte[] arquivo;
    	try{
    	
    	    Parametro_FixoED p = new Parametro_FixoED();
    	    SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
    	    
    		InterfaceRelatorio relatorio = Relatorio.getInstance(Relatorio.GERADOR_JASPER);
    		
    		if (ed.getRelatorio().equals("ANEXO"))
    		    relatorio.setNomeArquivo("Contrato_ANEXO");
    		else if (ed.getRelatorio().equals("ADENDO"))
    		    relatorio.setNomeArquivo("Contrato_ADENDO");
    		
    		relatorio.setPathReport(p.getPATH_RELATORIOS());
    		relatorio.setPathImagem(p.getPATH_IMAGENS());    		
    		
    		HashMap parametros = new HashMap();
    		parametros.put("RELATORIO", relatorio.getNomeArquivo());
    		parametros.put("PATH_IMAGENS", p.getPATH_IMAGENS());
    		parametros.put("EMPRESA", "JOHANN ALIMENTOS LTDA");
    		parametros.put("MIX", ed.getMix());
   		    parametros.put("NR_CONTRATO", ManipulaString.preencheZeros(ed.getNR_Contrato(), 3));
    		parametros.put("NR_PAGINA", ed.getNR_Folha());
    		if (ed.getDt_contrato() != null) {
    		    parametros.put("DT_CONTRATO", data.format(ed.getDt_contrato()));
    		    parametros.put("DT_INICIAL", ed.getDT_Inicial());
    		    parametros.put("DT_FINAL", ed.getDT_Final());
    		}
    		
    		try {
    			relatorio.listaRelatorioPdfParaByte(parametros, (ArrayList)lista);
    		}
    		catch (Exception e){
    		    // // ("------------------------");
    		    // // ("deu PAU!!!!!!!!!!!!!!!!!"+e.getMessage());
    		    // // ("------------------------");
    			e.printStackTrace();
    		}

    		arquivo = relatorio.getRelatorioBytes();
    		    		
    		//Escreve o pdf no JSP
    		ServletOutputStream retornoPDF = response.getOutputStream();
    		response.setContentType("application/pdf");
    		retornoPDF.write(arquivo);
    		retornoPDF.flush();
    		retornoPDF.close();
    	}
    	catch (Exception exc)
    	{
    	    throw new Excecoes(exc.getMessage(), exc, this.getClass().getName(), "geraRelContrato()");
    	}        
    }
}